1. Field of the Invention
This invention pertains generally to video coding, and more particularly to reducing the number of contexts utilized when coding last transform position.
2. Description of Related Art
The efficient storage and communication of video requires coding mechanisms for reducing spatial and temporal redundancies. Ongoing efforts are directed at increasing the efficiencies of these enCOder/DECoders (codecs) which respectively compress and decompress video data streams. The purpose of codecs is to reduce the size of digital video frames in order to speed up transmission and reduce storage space. Video coding advances have collectively contributed to the high levels of coding efficiency provided by state-of-the-art codecs. Development continues on codec standards, such as from the Joint Collaborative Team on Video Coding (JCT-VC), which is a joint effort of the MPEG and VCEG standardization committees.
In one developing standard (JCTVC-D262), context processing within the entropy encoder section is performed with the position of the last significant coefficient encoded before the position of the other significant coefficients to improve the parallel nature of processing and thus throughput. This technique is performed during entropy encoding, such as within a context adaptive binary arithmetic coding (CABAC) entropy encoder, which is a lossless compression technique used in H.264/MPEG-4 AVC video encoding, and other recent coding standards, to improve video compression. CABAC decoding requires significant levels of processing power.
The position of the last coefficient is encoded explicitly by signaling its X and Y coordinates with a unary code, with the X and Y signaling being considered independently. Context derivation for this significance map of contexts is simplified toward further enhancing the parallel nature of the entropy encoding. The X and Y signaling are independent, as are luminance and the chrominance signaling. Utilizing this technique for YUV 4:2:0 video, a total of 120 contexts are used for coding the last coefficient position.
It will be noted that a “context model” utilized within this entropy coding technique is a probability model for one or more bins of the binarized symbol. A context model is chosen from a selection of available context models depending on the statistics of coded data symbols. The context model stores the probability of each bin being “1” or “0”.
However, parallel entropy encoding utilizing this developing standard still requires the use of a large number of contexts which increase processing overhead.